Dragonball Z 3: Killer Androids
English Patch - Source Code
Intial Release: Oct. 8, 2006
by Twilight Translations
copyright 2006
--------------------------------------

1. Introduction
2. Contents

--------------------------------------

1. Introduction

--------------------------------------

I remember when I first started learning assembly language (refered to from here on
as simply "asm"). I had no idea where to begin and even more so how to apply
anything I learned to modifying a video game (asm hacking as it's known in romh
circles).

I eventually did, however, figure it out after countless sleepless nights and months.
The thing, I felt, that contributed a lot to my difficulties was the lack of any
available source code that worked and was for the NES. I vowed that if I ever managed
to learn, that I would share my knowledge in some way. Since I'm not such a great
teacher, this package of source code, that I used in my translation of Dragonball Z 3:
Killer Androids, will have to suffice.

I'd suggest if you're learning to grab a copy of the rom and the patch and compare
the unaltered Japanese ROM to the English ROM.

--------------------------------------

2. Contents

--------------------------------------

All of the source code included was compiled with x816.

Please note the included assembled binary files should be based on the included
source, but I can't guarantee that.

dbz3huff.asm - The huffman decoding routine. This was based largely on a similar
	       routine that SnowBro released in a package of source code on NESDEV.
	       The look up table consists of 2 bytes for each node;
	       If the the first byte is $00, then the node is a leaf node and the
	       second byte is the character's de

dbz3prep.asm - Clears all memory used by the huffman routine.

dbz3tech.asm - The routine that reads any of the names/words that appear in the menus.
	       This is merely the original routine rewritten. I can't remember why I
	       did this, though.

dbz3text.asm - The entire text read routine made compatible with the huffman encoding
	       scheme that was implemented.

dbz3vram.asm - A simple modification to the PPU writing routine to allow text to be
	       displayed on the line originally used for the Japanese accent marks.

dbz3_changes.txt - A list of every place the text routine is accessed from.
		   The last column lists the huffman-compatible address that it was
		   changed to.

dbz3_values.txt - Various addresses in the .NES file that control the placement of
		  menu borders, text within windows, and other things.